home *** CD-ROM | disk | FTP | other *** search
/ Champak 120 / Vol 120.iso / games / orbitrax.swf / scripts / DefineSprite_675 / frame_1 / DoAction.as
Text File  |  2010-11-09  |  5KB  |  199 lines

  1. function incSeg()
  2. {
  3.    seg++;
  4.    seg2 = seg + 1;
  5.    if(seg >= gameMain.numPointsT - 1)
  6.    {
  7.       seg2 = 0;
  8.    }
  9.    if(seg >= gameMain.numPointsT)
  10.    {
  11.       seg = 0;
  12.       seg2 = 1;
  13.    }
  14. }
  15. function tTween()
  16. {
  17.    t += speed;
  18.    if(t > 0.99)
  19.    {
  20.       t = 0;
  21.       incSeg();
  22.       speed = vSpeed;
  23.       mid1.x = gameMain.midT[seg].x;
  24.       mid1.y = gameMain.midT[seg].y;
  25.       point2.x = gameMain.pointsT[seg2]._x;
  26.       point2.y = gameMain.pointsT[seg2]._y;
  27.       mid2.x = gameMain.midT[seg2].x;
  28.       mid2.y = gameMain.midT[seg2].y;
  29.    }
  30.    _X = mid1.x * (1 - t) * (1 - t) + 2 * point2.x * (1 - t) * t + mid2.x * t * t;
  31.    _Y = mid1.y * (1 - t) * (1 - t) + 2 * point2.y * (1 - t) * t + mid2.y * t * t;
  32.    vx = _X - oldx;
  33.    vy = _Y - oldy;
  34.    oldx = _X;
  35.    oldy = _Y;
  36.    trot = Math.atan2(vy,vx) * 180 / 3.141592653589793;
  37.    diff = trot - _rotation;
  38.    if(diff > 180)
  39.    {
  40.       diff -= 360;
  41.    }
  42.    if(diff < -180)
  43.    {
  44.       diff += 360;
  45.    }
  46.    vrot += diff * 0.5;
  47.    vrot *= 0.8;
  48.    _rotation = _rotation + vrot;
  49.    if(main.gameStarted && twin._visible)
  50.    {
  51.       var i = 1;
  52.       while(i <= gameMain.hitZoneQty)
  53.       {
  54.          if(hitZone.hitTest(eval("gameMain.hitZone" + i)))
  55.          {
  56.             hitObjList = eval("gameMain.zoneArray" + i);
  57.          }
  58.          i++;
  59.       }
  60.       i = 0;
  61.       while(i < hitObjList.obsArray.length)
  62.       {
  63.          if(hitObjList.borderArray[i].addIt == "type1")
  64.          {
  65.             if(gameMain.checkObs(this,hitObjList.obsArray[i]))
  66.             {
  67.                this.onEnterFrame = cTween;
  68.             }
  69.          }
  70.          i++;
  71.       }
  72.       if(!gameMain.clock._visible)
  73.       {
  74.          if(gameMain.checkObs(this,gameMain.piste.car))
  75.          {
  76.             gameMain.allCar.car.gotoAndStop("bumpFront");
  77.             gameMain.bumpSnd.gotoAndPlay("bump");
  78.             this.onEnterFrame = cTween;
  79.          }
  80.       }
  81.       var i = 0;
  82.       while(i < hitObjList.borderArray.length)
  83.       {
  84.          if(hitObjList.borderArray[i].addIt == "type1")
  85.          {
  86.             if(gameMain.checkBorder(this,hitObjList.borderArray[i]))
  87.             {
  88.                lock = true;
  89.                delete this.onEnterFrame;
  90.                break;
  91.             }
  92.          }
  93.          i++;
  94.       }
  95.    }
  96.    if(!lock)
  97.    {
  98.       twin._x = _X;
  99.       twin._y = _Y;
  100.       twin._rotation = _rotation;
  101.    }
  102. }
  103. function cTween()
  104. {
  105.    vx *= friction;
  106.    vy *= friction;
  107.    _X = _X + vx;
  108.    _Y = _Y + vy;
  109.    if(gameMain.swapObj.getDepth() < gameMain.elementMap.getDepth())
  110.    {
  111.       var i = 1;
  112.       while(i <= gameMain.hitZoneQty)
  113.       {
  114.          if(hitZone.hitTest(eval("gameMain.hitZone" + i)))
  115.          {
  116.             hitObjList = eval("gameMain.zoneArray" + i);
  117.          }
  118.          i++;
  119.       }
  120.       i = 0;
  121.       while(i < hitObjList.obsArray.length)
  122.       {
  123.          if(hitObjList.borderArray[i].addIt == "type1")
  124.          {
  125.             gameMain.checkObs(this,hitObjList.obsArray[i]);
  126.          }
  127.          i++;
  128.       }
  129.       i = 0;
  130.       while(i < gameMain.carArray.length)
  131.       {
  132.          if(!gameMain.clock._visible)
  133.          {
  134.             if(gameMain.checkObs(this,gameMain.carArray[i]))
  135.             {
  136.                gameMain.allCar.car.gotoAndStop("bumpFront");
  137.                gameMain.bumpSnd.gotoAndPlay("bump");
  138.             }
  139.          }
  140.          i++;
  141.       }
  142.       var i = 0;
  143.       while(i < hitObjList.borderArray.length)
  144.       {
  145.          if(hitObjList.borderArray[i].addIt == "type1")
  146.          {
  147.             if(gameMain.checkBorder(this,hitObjList.borderArray[i]))
  148.             {
  149.                lock = true;
  150.                hitObjList.obsArray.push(this);
  151.                delete this.onEnterFrame;
  152.                break;
  153.             }
  154.          }
  155.          i++;
  156.       }
  157.    }
  158.    if(!lock)
  159.    {
  160.       twin._x = _X;
  161.       twin._y = _Y;
  162.       twin._rotation = _rotation;
  163.    }
  164.    if(Math.round(vx) == 0 && Math.round(vy) == 0)
  165.    {
  166.       t = 0;
  167.       if(collSeg != seg2)
  168.       {
  169.          incSeg();
  170.          speed = vSpeed2;
  171.          collSeg = seg2;
  172.       }
  173.       mid1.x = _X;
  174.       mid1.y = _Y;
  175.       point2.x = gameMain.pointsT[seg2]._x;
  176.       point2.y = gameMain.pointsT[seg2]._y;
  177.       mid2.x = gameMain.midT[seg2].x;
  178.       mid2.y = gameMain.midT[seg2].y;
  179.       vx = vy = 0;
  180.       onEnterFrame = tTween;
  181.    }
  182. }
  183. lock = false;
  184. m = 60;
  185. ray = 20;
  186. friction = 0.9;
  187. vx = vy = 0;
  188. vSpeed = 0.04;
  189. vSpeed2 = vSpeed / 2;
  190. seg = 0;
  191. seg2 = 1;
  192. mid1 = new Object();
  193. mid2 = new Object();
  194. point2 = new Object();
  195. coll = false;
  196. t = 1;
  197. this.onEnterFrame = tTween;
  198. stop();
  199.